package ywpt.service.service;

import java.util.List;

import org.hibernate.criterion.DetachedCriteria;

import ywpt.model.JobInfo;

public interface JobInfoService {

	public abstract JobInfo getJobInfoById(Long id);

	public abstract int getJobInfoCountByCriteria(DetachedCriteria query);

	public abstract List< JobInfo> getJobInfos(DetachedCriteria query, int pageSize, int startIndex);

	public abstract void saveJobInfo(JobInfo jobInfo, Long callId, Long departId, Long typeId, Long clientId, Long keshiId, Long acceptManId, String[] assist,Long sendDepartId, Long sendBillId, Long proTypeId, Long stateId, Long imporDegId);

	public abstract void updateJobInfo(JobInfo jobInfo, Long callId, Long departId, Long typeId, Long clientId, Long keshiId, Long acceptManId, String[] assist,Long sendDepartId, Long sendBillId, Long proTypeId, Long stateId, Long imporDegId);

	public abstract void removeJobInfo(Long id);

	public abstract String createJobCode(int mark);
	
	public abstract String createSysCode(int mark);
	
	public abstract List<JobInfo> getJobInfos(DetachedCriteria query);
	
	public abstract List<JobInfo> getJobInfosByJobCode(String jobCode, int start, int size);
	
	public abstract int getJobInfosCountByJobCode(String jobCode);
	
	public abstract Boolean checkJobInfoExistByJobCode(String jobCode);

	public abstract boolean checkJobCode(String jobCode,int mark);
	
	public abstract List<JobInfo> getJobInfoByCallId(Long callId);

}
